﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SandcastleVisioAddin
{
    /// <summary>
    /// Структура описания класса из файла диаграммы
    /// </summary>
    class ImgClass
    {
        public ImgClass(string iName, string cname, string fname, int iwidth)
        {
            this.idName = iName; this.className = cname; this.width = iwidth; trans_data = new TRANS_DATA();
        }

        public string Info()
        {
            return "Class name = " + className + " Position = X " + X.ToString() + " Y " + Y.ToString() + " Width = " + width.ToString();
        }

        public void Transform()
        {
            width = (float)trans_data.tWidth;
            height = (float)trans_data.tHeight;

            X = (trans_data.tPinX - trans_data.tLocPinX) - 0.25;
            Y = (trans_data.tLocPinY - trans_data.tPinY) - 0.25;

            X = Math.Round(X, 2);
            Y = Math.Round(Y, 2);

            width = Math.Round(width, 2);
            height = Math.Round(height, 2);
        }

        public string idName;           // id класса плучается из функции SKUtils
        public string className;
        // Полное имя класса 
        public double X, Y;              // Позиция класса в изображении
        public double width, height;     // Ширина и высота изображения класса

        ////Transform data
        public struct TRANS_DATA
        {
            public double
                    tPinX,
                    tPinY,
                    tWidth,
                    tHeight,
                    tLocPinX,
                    tLocPinY;
        }

        public TRANS_DATA trans_data;

        ////Geometry data
        //public struct GEOMDATA
        //{
        //    public double[]
        //            xGeom = new double[5],
        //            yGeom = new double[5];
        //}

        //public GEOMDATA[] gData;

    };
}
